package com.tbit.uqbike.client.dao.core;

import com.tbit.uqbike.client.pojo.MemberLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 免押会员购买记录
 *
 * @author Leon
 * 2019年9月23日 下午8:38:24
 */
public interface MemberLogDao {

    /**
     * 查找会有购买记录
     *
     * @param map
     * @return
     */
    List<MemberLog> findByUserId(Map<String, Object> map);

    /**
     * 添加会员开通记录
     *
     * @param memberLog
     */
    void insert(MemberLog memberLog);

    /**
     * 通过订单编号查找
     *
     * @return
     */
    MemberLog findByOrderNo(String orderNo);

    /***
     * 更新会员购买记录
     * @param memberLog
     */
    void update(MemberLog memberLog);

    /**
     * 查询用户快到期免押卡订单
     *
     * @param map
     * @return
     */
    List<MemberLog> getUserRide(Map<String, Object> map);

    /**
     * 查看当前用户生效免押卡数量
     * @param userId
     * @return
     */
    Integer hasValidCard(@Param("userId") Integer userId);

    /**
     * 根据区域id和用户id获取用户最近一笔生效中的免押卡
     *
     * @param accountId 区域id
     * @param userId    用户id
     */
    MemberLog getMemberLogByUserId(@Param("userId") Integer userId, @Param("accountId") Integer accountId);
}
